const _ = require('lodash');

// 柯里化可以让我们把任意元函数转为一元函数
function getSum(a, b, c) {
  return a + b + c;
}

// 经过lodash柯里化处理后返回一个柯里化函数
const curried = _.curry(getSum);

// 如果这个柯里化函数一次性获得了全部的参数 那么就立即执行
console.log(curried(1, 23, 4));

// 如果只传入部分参数 那么返回一个新的函数等待接受剩余参数
let tmp = curried(1, 2);
console.log(tmp(3));

console.log(curried(1)(2)(4));